To provide high levels of reliability and availability, it is common to provide duplicated or redundant computational components. In the event that one component malfunctions, the other component can be enabled to provide continued processing capabilities. In this manner, the duration of any interruption or malfunction is minimized or eliminated altogether.
The use of duplicated computational components can cause difficulties in providing right-to-use protection and software copy protection. In one licensing approach, a valid license file is required to run a computational component. This approach is discussed in detail in copending U.S. patent application entitled “Securing Feature Activation in a Telecommunication System”, Ser. No. 09/357,679, filed Jul. 20, 1999, to Serkowski, which is incorporated herein by this reference.
In such licensing verification systems, the license file contains a serial number that must be present on the hardware that is to execute the licensed software for the license to be valid and the software to be executable. In telecommunication applications, for example, the serial number of the control processor must be in the license file for the control processor to run the licensed software.
The license file also contains a software name and/or version of the licensed telecommunication application and licensed features. The data structures corresponding to the features are of two types. In a type 1 feature, the data structures reflected enablement or disablement of the corresponding feature using a simple on/off state. Examples of features falling into this category include abbreviated dialing enhanced list, audible message waiting, vectoring, answer supervision by call classifier, ATM trunking, agent states, dial by name, DCS call coverage, echo cancellation, multifrequency signaling, and wideband switching. In a type 2 feature, the data structures include a single numeric value and/or a name kind of entry. Examples of features falling into this category include logged-in agents, offer category, maximum numbers of concurrently registered IP stations, administered IP trunks, ports, and concurrently administered remote office stations/trunks, and call center release.
This licensing scheme is not configured for licensing duplicated systems. In duplicated systems, the same type of computational component, such as a (control) processor or an application specific integrated circuit or ASIC, has a plurality of corresponding serial numbers. To provide the desired reliability and availability of duplicated systems, both the primary and backup computational components must be able to be enabled by the licensing verification system. In telecommunication switching systems for example, the licensing verification system must be able to run on both the primary and backup sides of the duplicated processor hardware. Existing licensing verification systems, however, allow only one serial number to be enabled per license file. When two license files are used to enable independently each of two duplicated computational components, users of the duplicated computational components can use each license file to create unlawfully two simplex systems, each having only one nonduplicated computational component, to process software licensed for only one system. In telecommunication applications, the software for a duplicated system costs considerably less than twice the cost of the software for a simplex system.